Most modern computer software employs a graphical user interface (GUI) to convey information to and receive commands from. users. The GUI relies on a variety of elements or objects, including icons, text, numerals, drop-down menus, dialog boxes, toolbars, buttons, and the like. A user typically interacts with a GUI by using a pointing device (e.g., a mouse) to position an on-screen pointer or cursor over an on-screen object and "single-clicking" or "double-clicking" on the object. "Single-clicking" means pressing and releasing a button on a mouse 42 (FIG. 2), or the like, whereas "double-clicking" means repeatedly pressing and releasing a button on a mouse 42, or the like. An example of an operating system that provides GUI is the "WINDOWS 95" operating system, which is manufactured and sold by Microsoft Corporation of Redmond, Wash.
Most modem spreadsheet application programs operate in a GUI environment. An example of a spreadsheet or worksheet application program that operates in a GUI environment is the "EXCEL 97" program, which is manufactured and sold by Microsoft Corporation of Redmond, Wash. FIG. 1a-1g illustrate portions of spreadsheet screen displays that disclose features of a prior version of the "EXCEL" spreadsheet application program (i.e., "EXCEL" 95 Version 7.0), which should be understood by those skilled in the art.
Referring to FIG. 1a for example, the prior art spreadsheet screen displays include multiple on-screen objects which are referred to as cells. Each cell is capable of containing information or objects such as words, numerals, and symbolic expressions or formulas. The cells are arranged in a two-dimensional array and identified by column identifiers and row identifiers. As depicted in FIG. 1a, column identifiers A-G are above respective columns of the cells, and row identifiers 1-8 are to the left of respective rows of the cells. Accordingly, those skilled in the art will appreciate that the cell B2 contains "34,000" and the range of cells B2:F4 includes all of the cells containing a number greater than 1,000. More particularly, the range of cells B2:F4 includes the cells B2, C2, D2, E2, F2, B3, C3, D3, E3, F3, B4, C4, D4, E4, and F4.
As depicted in FIG. 1a, the cell B6 has been selected by a user with an On-Screen pointer 100. A single cell is selected, for example, by using a input device such as a mouse 42 (FIG. 2) to position the pointer 100 over the cell, and then "single-clicking" the mouse 42. Multiple cells can be selected, for example, by positioning the pointer 100 over one of the cells to be selected, pressing and holding down a button on the mouse 42, and moving the pointer 100 across other cells to be selected. Once desired cells have been selected, the button on the mouse 42 is released. Selection of a cell or range of cells with the pointer 100 causes a selection border 102 to bound the selected cell or range of cells. The selection border 102 bounds the cell B6 in FIG. 1a. A selection handle 104, which is in the form of a box, is included at the lower right corner of the selection border 102. In FIG. 1a, because the cell B6 has been selected, it is in a "selection mode." The selection border 102 bounding the cell B6 is defined by double lines. While a cell is selected, any symbolic expression or formula contained by that cell (referred to hereafter as a cell formula) is depicted in a formula bar 106. For example, in FIG. 1a a cell formula that at least partially defines the content of the cell B6 is depicted in the formula bar 106. Those skilled in the art should appreciate that the cell formula depicted in FIG. 1a defines that the value depicted in the cell B6 is equal to the value in cell B2 minus the value in cell F2.
Cell formulas can be edited or created when their respective cell has been selected for "edit mode." FIG. 1b depicts a prior spreadsheet screen display like that of FIG. 1a, except that the cell B6 has been selected for edit mode. Selection for edit mode can occur in at least two different ways. Referring to FIG. 1a, it is conventional for the edit mode to be entered for a selected cell, which is bounded by the section border 102, by moving the pointer 100 to the formula bar 106, and then single-clicking the mouse 42 (FIG. 2). That causes the insertion point (the point at which text will be inserted in response, for example, to typing on an associated keyboard 40 (FIG. 2)) to be displayed within the formula bar 106. The edit mode can also be conventionally entered for a cell by positioning the pointer 100 over the cell and double-clicking. That will cause any cell formula contained by the selected cell to be displayed in the selected cell itself and the formula bar 106, and the insertion point will also be displayed in the selected cell. Edit mode can also be entered for a selected cell, which is bounded by the section border 102, by typing on the associated keyboard 40. The typing causes the cell formula contained by the selected cell and the insertion point to appear in the selected cell. Edit mode can also be conventionally entered by positioning the pointer 100 over a cell and single-clicking, and then pressing the "F2" key on the keyboard 40.
As depicted in FIG. 1b, when a cell is in edit mode, it is bounded by the selection border 102' which is defined by single lines. Also, in edit mode the right side of the selection border 102' is not shown and portions of the selection handle 104' are not shown so that they do not interfere with the displaying of the cell's formula. The edit mode can be terminated, for example, by hitting the "enter" or "return" key on the associated keyboard 40 (FIG. 2).
Cell formulas typically contain references to sources. Each source is a cell or a range of cells. For example, the cell formula for the cell B6, which is depicted in the formula bar 106 in FIG. 1a-b and in the cell B6 in FIG. 1b, includes two references. A first reference in the cell formula depicted in FIG. 1a-b is the reference "B2," which identifies the cell B2 as a first source of information used by the cell formula. A second reference in the cell formula depicted in FIG. 1a-b is the reference "F2," which identifies the cell F2 as a second source of information used by the cell formula. Accordingly, for FIG. 1a-b, those skilled in the art should appreciate that as a result of the cell formula, references, and sources, the cell B6 displays "-25,667," (FIG. 1) which is equal to the number depicted in the cell B2 minus the number depicted in the cell F2.
As depicted in FIG. 1a-b, a menu bar 108 is provided that provides access to various commands of the prior art spreadsheet software product. The menu bar 108 includes several major headings. Each heading represents a menu that drops down when the user clicks on the heading in the menu bar 108. This allows access to commands that are listed in the drop down menu. A user selects a particular command from a drop down menu by dragging the pointer down to the command and operating a button on the mouse 42 (FIG. 2). Drop down menus provide a space-efficient means for organizing and displaying numerous commands.
The menu bar 108 provides access to a "trace precedents" command that identifies the sources identified by the references of a cell formula (see FIG. 1c). The menu bar 108 also provides access to a "trace dependents" command that identifies the cells that include cell formulas having a reference to a selected cell (see FIG. 1d). These features must be accessed through a "Tools" pull down menu and an "Auditing" sub-menu (not shown) associated with menu bar 108. These features can also be accessed through the selection of corresponding buttons on a tool bar (not shown). Toolbars are common GUI elements that provide another effective way to display numerous computer commands. Toolbars provide access to a set of commands that are usually represented by buttons. A user can invoke any command in the toolbar by single-clicking on the associated button.
FIG. 1c illustrates a portion of a prior spreadsheet screen display after the cell B6 has been selected, and the "trace precedents" command has been chosen. In FIG. 1c the cell B6 is bounded by the selection border 102, which indicates that cell B6 is selected. As seen in the formula bar 106 of FIG. 1c, the cell B6 includes or is defined by a cell formula with reference "B2:D2" and reference "E3." Accordingly, as a result of the performance of the "trace precedents" feature, blue tracer arrows 110 and a blue tracer border 112, which bounds the range of cells B2:D2, are displayed to identify the range of cells B2:D2 and the cell E3, which are the sources that the displayed cell formula and selected cell depend upon. Because of the tracer arrows 110 and tracer border 112, the sources for the displayed cell formula are readily apparent.
FIG. 1d illustrates a portion of a prior spreadsheet display after cell B2 has been selected, and the "trace dependents" command has been chosen. In FIG. 1d, cell B2 is bounded by the selection border 102, which indicates that cell B2 is selected. As indicated by the formula bar 106 of FIG. 1d, the cell B2 does not include a cell formula, but includes the number "34000." However, each of the cells B4, E2, and F2 include a cell formula containing the reference "B2." Accordingly, as a result of the performance of the "trace dependence" feature, blue tracer arrows 110 are displayed to identify the cell B2 as a source for the cells B4, E2, and F2 and their cell formulas.
Referring to FIG. 1a-d, each of the "trace precedents" and "trace dependents" features must be accessed through a menu bar 108 or the selection of items on a tool bar (not shown). Referring to FIG. 1c-d, once the "trace precedents" and "trace dependents" features are performed and the resulting tracer arrows 110 or tracer border 112 are displayed, the displayed tracer arrows 110 and tracer borders 112 remain stationary. Once displayed, the tracer arrows 110 and tracer borders 112 cannot be manipulated, with the exception that they can be deleted by way of selecting commands from the menu bar 108 (FIG. 1a-b) or a tool bar (not shown). Thus, while they provide some assistance in deciphering the sources that cells and cell formulas depend upon, they are of limited value because they cannot be directly used to manipulate the sources. Also, the tracer arrows 110 and the tracer borders 112 are not automatically displayed when a cell formula is being edited, and there is no color coordination between references in the cell formula and the tracer arrows 110 and the tracer borders 112.
While the prior version of the "EXCEL" spreadsheet software discussed with reference to FIG. 1a-g includes conventional means for identifying and editing references within cell formulas, those means can be somewhat labor intensive. For example, the insertion point can be placed within a cell formula in the ways discussed above to allow for editing of the cell formula via keys on the associated keyboard 40 (FIG. 2). Additionally, while the insertion point is within a cell formula, a reference to a cell or range of cells (i.e., source) can be inserted into the cell formula by selecting one or more cells of the spreadsheet with the pointer 100. When a cell or range of cells are so selected, that cell or range of cells is temporarily bounded by a broken-line border, and a reference to that bordered cell or range of cells is inserted into the cell formula at the insertion point.
Another feature of the prior "EXCEL" spreadsheet software provides for the copying of cells. For example, with reference to FIG. 1e, the selection border 102 indicates that the cell A2 has been selected. As discussed in greater detail below, when the pointer 100 is moved proximate to the selection handle 104, the pointer 100 transforms into a thin "cross" (i.e., thinner than the cross-like pointer 100 depicted in FIG. 1a), as depicted in FIG. 1f. Alternatively, when the pointer 100 is moved proximate to the selection border 100 but is displaced from the selection handle 104, the pointer 100 transforms into an arrow, as depicted in FIG. 1e. When the pointer 100 is in the form of an arrow, the selection border 102 and the contents of the cell that is bounded by the selection border 100 can be moved. Movement is achieved, for example, by pressing and holding down a button on the mouse 42 (FIG. 2), and then moving the pointer 100. Once the selection border 100 has been moved to the desired location, the button on the mouse 42 is released and the moved cell contents and selection border 102 remain in that desired location.
Referring to FIG. 1f, when the pointer 100 is proximate to the selection handle 104, the pointer 100 transforms into the thinner "cross." When the pointer 100 is in the form of the thinner cross, the selection handle 104 and portions of the selection border 102 directly connected to the selection handle 104 can be moved to resize the selection border 102. More particularly, when the pointer 100 is in the form of a thinner cross, the selection handle 104 and portions of the selection border 102 directly connected to the selection handle 104 can be moved to expand or contract (if the selection border 102 bounds more than one cell) the size of the selection border 102. Such expansion or contraction is achieved by pressing and holding down the button on the mouse 42 (FIG. 2), and moving the pointer 100. Once the selection border 100 has been resized as desired, the button on the mouse 42 is released. For example, the selection handle 104 and portions of the selection border 102 are being "dragged" in FIG. 1f, and have been "dropped" in FIG. 1g to enlarge the selection border 102. The prior version of the "EXCEL" spreadsheet software includes an "auto-fill" feature such that the above-discussed "dragging and dropping" of a selection handle 104 causes the content of the cell or cells originally bounded by the selection border 102 to be copied into the cells bounded by the enlarged selection border 102.
Those skilled in the art will appreciate that the prior version of the "EXCEL" spreadsheet software discussed with reference to FIG. 1a-g includes numerous features that make the program intuitive and user friendly. Nonetheless, further improvements are desired to enhance the intuitive and user friendly nature of that software product. For example, deciphering the sources identified by references within cell formulas can be cumbersome. Further, the prior art methods for editing references in cell formulas are relatively labor intensive. Moreover, dealing with the symbolic expressions or formulas that are used to define graphs from spreadsheet data can be even more labor intensive and difficult.
Therefore, there is a need in the art for improved methods for discerning the sources identified by references within cell formulas, and for editing or manipulating those references and sources. There is also a need in the art for improved methods for discerning and editing or manipulating the sources that define graphs. More generally, there is a need for methods that diminish the reliance upon the symbolic expressions or formulas associated with spreadsheets and their associated graphs. This would allow software users to more quickly and easily utilize spreadsheet and graphing software.